namespace UNREACH_ENUM {
	enum class E {
		E1, E2
	};

	void f1();
	void f2();
	void f3();

	void foo(E e)
	{
		if (e == E::E1) {
			f1();
		}
		else if (e == E::E2) {
			f2();
		}
		else {
			f3();
		}
	}
}